﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Btssio.Sport
{
    [Serializable]
    public class Sport
    {
        public string nom = "inconnu";
        public TypeSport type = TypeSport.Individuel;
        public Adresse adresseNationale =  new Adresse();
        public int anneeCreation = 0;
        
        /// <summary>
        /// Permet d'instancier un sport par défaut (nom inconnu, année de création à 0 et sport individuel).
        /// </summary>
        public Sport()
        {
        }

        /// <summary>
        /// Permet d'instancier un sport à partir des éléments reçus en paramètre.
        /// </summary>
        /// <param name="nom">Nom du sport.</param>
        /// <param name="adresseNationale">Adresse nationale du sport.</param>
        /// <param name="type">Type du sport.</param>
        /// <param name="anneeCreation">Année de création du sport.</param>
        public Sport(string nom, Adresse adresseNationale, TypeSport type, int anneeCreation)
        {
            this.nom = nom;
            this.adresseNationale = adresseNationale;            
            this.type = type;
            this.anneeCreation = anneeCreation;
        }

        
        /// <summary>
        /// Obtient l'âge du sport.
        /// </summary>
        /// <returns>Age du sport.</returns>
        public int getAge()
        {
            int age = DateTime.Now.Year - anneeCreation;
            if (age == 0) age = 1;
            return age;
        }

        
        /// <summary>
        /// Description textuelle du sport : nom [année de création - ville de l'adresse nationale].
        /// </summary>
        /// <returns>Description du sport.</returns>
        public override string ToString()
        {
            return nom + " [" + anneeCreation + " - "+ adresseNationale.ville+"]";
        }


    }
}
